配置測試不僅應(yīng)該是整個(gè)開發(fā)過程中必不可少的步驟,而且在安裝新應(yīng)用程序以在 Web 和應(yīng)用程序服務(wù)器上使用的過程中也很重要。如果沒有適當(dāng)?shù)臏y試,應(yīng)用程序通常會(huì)失敗或容易受到漏洞影響。暴露于黑客或病毒的攻擊可能會(huì)導(dǎo)致不必要的費(fèi)用和花費(fèi)過多的時(shí)間來糾正這些問題。應(yīng)用程序開發(fā)人員忽略配置測試的需求并不罕見,因?yàn)樗麄冋J(rèn)為使用像 Chef、Puppet 或其他系統(tǒng)這樣的自動(dòng)化方法來測試他們產(chǎn)品的部署就可以了。他們認(rèn)為,通過使用這些完全自動(dòng)化的流程,他們可以測試一致性、充分再現(xiàn)輸出并確定事情是否按預(yù)期工作。
為什么自動(dòng)化測試還不夠
自動(dòng)化測試套件就是這樣——自動(dòng)化。這些工具是通用的,并非旨在真正了解您的產(chǎn)品或?qū)嶋H上能夠根據(jù)可能發(fā)生的任何問題檢測缺陷。這些自動(dòng)化測試方法缺乏模擬可能出現(xiàn)的與您的特定應(yīng)用程序和配置相關(guān)的不同更改的能力。由于防火墻更改、安全配置更改或作為快速解決問題而實(shí)施的補(bǔ)丁代碼更改,可能會(huì)出現(xiàn)問題。
開發(fā)軟件應(yīng)用程序的整個(gè)過程需要復(fù)雜且耗時(shí)的過程,例如規(guī)劃、構(gòu)建、測試和部署產(chǎn)品。開發(fā)最重要的方面之一是部署階段的安全測試。在前端測試身份驗(yàn)證和授權(quán)技術(shù)以及密碼保護(hù)的傳統(tǒng)方法確實(shí)存在。開發(fā)人員可能知道需要在應(yīng)用程序的初始源代碼上實(shí)現(xiàn)和測試什么安全性,但他們可能不具備在完整的集成系統(tǒng)或操作環(huán)境下測試應(yīng)用程序的必要知識。例如,他們可能不了解托管 Web 應(yīng)用程序的服務(wù)器,或者是否有有效的SSL 證書是安全配置所必需的,或者對防火墻的更改可能如何影響安全問題。測試配置問題是安全測試的一個(gè)主要特征,應(yīng)該實(shí)施以防止?jié)撛诘墓簟?/p>
每個(gè)人都參與過程的案例
即使是最復(fù)雜的安全工具也無法與經(jīng)驗(yàn)豐富的安全測試人員競爭,他們知道系統(tǒng)的安全問題,包括安全漏洞的根本原因、找到原因的測試技術(shù)、修復(fù)它所需的補(bǔ)救措施或?qū)Σ摺J褂貌粶y試或不知道您的安全問題的人或方法只會(huì)導(dǎo)致給您一種錯(cuò)誤的安全感。
例如,當(dāng)開發(fā)人員發(fā)布補(bǔ)丁解決編碼問題時(shí),您如何知道如何清楚地使用補(bǔ)丁,補(bǔ)丁是否易于實(shí)現(xiàn)或補(bǔ)丁如何影響其他組件?通常,這些補(bǔ)丁或更改無法與其他人輕松溝通或從未成功實(shí)施。配置測試可確保所有更改都易于訪問,輕松與當(dāng)前系統(tǒng)和要求集成,并且流程中涉及的每個(gè)人都始終保持最新狀態(tài)。
每個(gè)團(tuán)隊(duì)在流程中都有自己的位置
您的團(tuán)隊(duì)?wèi)?yīng)該通過提供有關(guān)他們最了解的內(nèi)容的意見,在各個(gè)階段獨(dú)立使用他們的技能。開發(fā)團(tuán)隊(duì)?wèi)?yīng)該專注于應(yīng)用程序的構(gòu)建;而安全團(tuán)隊(duì)?wèi)?yīng)該專注于安全測試,而您的運(yùn)營團(tuán)隊(duì)?wèi)?yīng)該負(fù)責(zé)合規(guī)性和驗(yàn)證過程。通過實(shí)施測試方法,每個(gè)人在他們可以完全訪問的過程中都有發(fā)言權(quán),可以消除錯(cuò)誤,并且可以針對他們的特定責(zé)任領(lǐng)域順利實(shí)施更改。當(dāng)出現(xiàn)配置和安全問題時(shí),不應(yīng)要求開發(fā)團(tuán)隊(duì)學(xué)習(xí)新代碼或測試新框架。安全團(tuán)隊(duì)可以在保護(hù)站點(diǎn)內(nèi)容方面發(fā)揮重要作用,并且可以負(fù)責(zé)對 Web 服務(wù)器或應(yīng)用程序服務(wù)器配置的要求。系統(tǒng)管理員具有了解如何配置服務(wù)器以及應(yīng)考慮的通用準(zhǔn)則的必要知識。當(dāng)在流程的早期應(yīng)用這些知識時(shí),可以及早解決問題和漏洞,并且通常可以降低實(shí)施成本。
最后但并非最不重要的:需要分享
團(tuán)隊(duì)將能夠就他們的配置測試想法進(jìn)行協(xié)作,并分擔(dān)個(gè)人和整體配置測試的職責(zé)。每個(gè)人都會(huì)受益;消除了重復(fù)工作,定義了系統(tǒng)配置并輕松記錄了信息,輕松改進(jìn)了溝通和協(xié)作,并減少了花費(fèi)的時(shí)間和金錢,以實(shí)現(xiàn)每次變更的有效結(jié)果。使用配置測試可確保所有團(tuán)隊(duì)成員都能輕松獲得應(yīng)用程序開發(fā)的充分溝通、監(jiān)控和文檔。團(tuán)隊(duì)之間的溝通將培養(yǎng)“跳出框框”的思維。通常,良好安全性的用例只會(huì)測試人們預(yù)期會(huì)發(fā)生的情況。很少有自動(dòng)化方法真正測試會(huì)破壞應(yīng)用程序或?qū)е聭?yīng)用程序以不安全方式失敗的異常情況。由于自動(dòng)化方法通常無法捕捉到這些不尋常的案例,因此組織必須考慮使用創(chuàng)造性思維技術(shù)出現(xiàn)的其他案例。創(chuàng)造性思維通常可以幫助確定可能導(dǎo)致應(yīng)用程序失敗的原因以及如何幫助提前避免或解決任何問題。
您可以放心,您的團(tuán)隊(duì)將能夠定義、共享和運(yùn)行正確的配置測試,以確保滿足您公司目標(biāo)的質(zhì)量。使用正確的配置測試實(shí)際上可以縮小未來安全風(fēng)險(xiǎn)成本的差距,方法是在出現(xiàn)問題之前解決它們。通過使用配置測試和實(shí)施持續(xù)集成作為團(tuán)隊(duì)發(fā)布管理策略的一部分,您可以在不犧牲質(zhì)量或性能的情況下加快發(fā)布產(chǎn)品的時(shí)間。